Disk fault tolerance refers to a technology in which when data or files are corrupted or lost in a disk system, the disk system can automatically recover the corrupted or lost data and files to the state before the accident occurs such that the system can operate continuously.
In the prior art, disk fault tolerance generally employs RAID (Redundant Array of Independent Disks), which uses a plurality of disks and ensures data reliability by a certain checking mechanism; the disk fault tolerance technology can be classified into a plurality of types 0-7 according to its implementation manner and fault tolerance performance, among which RAID 1 and RAID 5 are most well known. In the prior art I, RAID 1 uses two disks for backup, each of which is a slave disk of the other, wherein during data writing, the data are written simultaneously to the two disks, and during data accessing, data in the master disk will be accessed first, and if the access fails, data in the backup disk will be accessed. This technology is easy to achieve and provides a high data availability, and when the master disk is offline, a recovery can be conducted from the backup disk without affecting the performance. In the prior art II, RAID 5 strips the disks and data, wherein data accessing is conducted simultaneously with respect to a plurality of disks, and parity checking chunks are distributed among the plurality of disks. If one of these disks fails, a recovery can be performed according to information from the other disks. For an array with N disks, this technology can achieve a disk space efficiency of (N−1)/N.
However, the inventors of the present invention have found that there exists at least the following problem in the prior arts.
For RAID 1, since only one of the two disks offers service at one time, the disk utilization efficiency is only 50%. RAID 5 has a poor writing performance, wherein during each writing, old data and old parity checking data need to be accessed first, and then new data are written and new parity checking data would be generated and written. Moreover, RAID 5 has a high complexity of implementation, and thus RAID controller and RAID metadata information issues may be a bottleneck of the overall system, and RAID 5 can do nothing about the system failure such as simultaneous storage of multiple disks, machine power down or power off.